package com.example.hospital_208.service.impl;

import com.example.hospital_208.dao.PatientInfoDao;
import com.example.hospital_208.po.PatientInfo;
import com.example.hospital_208.service.PatientInfoService;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class PatientInfoServiceImpl implements PatientInfoService {
    private final PatientInfoDao patientInfoDao;

    public PatientInfoServiceImpl(PatientInfoDao patientInfoDao) {
        this.patientInfoDao = patientInfoDao;
    }

    public List<PatientInfo> listPatientInfos() {
        return patientInfoDao.findAllPatientInfos();
    }

    public PatientInfo getPatientInfoById(String patient_id) {
        return patientInfoDao.findPatientInfoById(patient_id);
    }

    public int addPatientInfo(PatientInfo patientInfo) {
        return patientInfoDao.insertPatientInfo(patientInfo);
    }

    public int editPatientInfo(PatientInfo patientInfo) {
        return patientInfoDao.updatePatientInfo(patientInfo);
    }

    public int removePatientInfo(String patient_id) {
        return patientInfoDao.deletePatientInfoById(patient_id);
    }

    public List<PatientInfo> listPatientInfosByName(String name) {
        return patientInfoDao.findPatientInfosByName(name);
    }

    public int countPatientsByName(String name) {
        return patientInfoDao.countPatientsByName(name);
    }

    public PatientInfo getPatientInfoByUserId(Integer userId) {
        return patientInfoDao.findPatientInfoByUserId(userId);
    }

    // 新增：根据 patient_infoid 查询患者信息
    public PatientInfo getPatientInfoByInfoid(Integer patient_infoid) {
        return patientInfoDao.findPatientInfoByInfoid(patient_infoid);
    }
    // 新增：根据 patient_id 查询患者信息
    @Override
    public PatientInfo getPatientInfoByPatientId(String patient_id) {
        return patientInfoDao.findPatientInfoByPatientId(patient_id);
    }
}